package cn.aib.servicebase.exceptionhandler;

import cn.aib.commonutils.R;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice
public class GlobalExceptionHandler {

    //处理全局异常的方法
    @ExceptionHandler(Exception.class) //当出现Exception类型的异常时，调用下面的方法
    @ResponseBody
    public R handlerException(Exception e){
        e.printStackTrace();
        return R.error().message("执行了全局异常处理器了");
    }

    //处理特定异常的方法
    @ExceptionHandler(ArithmeticException.class) //当出现ArithmeticException类型的异常时，调用下面的方法
    @ResponseBody
    public R handlerException(ArithmeticException e){
        e.printStackTrace();
        return R.error().message("执行了特定异常处理器了");
    }

}
